package com.wizz.trade.information.service;

import com.wizz.trade.information.dto.page.GradePageDto;
import com.wizz.trade.information.entity.Grade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wizz.trade.common.PageVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 品级表 服务类
 * </p>
 *
 * @author fyftless
 * @since 2023-04-02 04:26:06
 */
public interface GradeService extends IService<Grade> {

    /**
     * 查询所有品级
     * @return
     */
    void addGrade(Grade grade);

    /**
     * 根据id更新品级
     * @param grade
     */
    void updateGrade(Grade grade);

    /**
     * 根据id删除品级
     * @param id
     */
    void deleteGrade(Integer id);

    /**
     * 分页条件查询品级
     * @param gradePageDto
     * @return
     */
    PageVo<Grade> getPage(GradePageDto gradePageDto);

    /**
     * 查询所有品级
     * @return
     */
    List<Grade> getAll();

    /**
     * 获取id-name映射
     * @param varietyId 品种id
     * @return
     */
    List<Map<Integer, String>> getNames(Integer varietyId);

    /**
     * 获取键值对
     * @param varietyId 品种id
     * @return 键值对
     */
    List<Map<Integer, String>> getOptions(Integer varietyId);

}
